package com.example.demo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.demo.common.Result;
import com.example.demo.entity.Book;

public interface BookService {

    /**
     * 分页查询书籍
     * @param pageNum
     * @param pageSize
     * @param name
     * @param author
     * @return
     */
    IPage<Book> selectPage(Integer pageNum, Integer pageSize, String name, String author);

    /**
     * 新增书籍
     * @param book
     * @return
     */
    Result<?> addBook(Book book);

    /**
     * 更新书籍
     * @param book
     * @return
     */
    Result<?> updateBook(Book book);

    /**
     * 删除书籍
     * @param bookId
     * @return
     */
    Result<?> deleteBook(int bookId);

    /**
     * 根据用户ID查询图书
     * @param pageNum
     * @param pageSize
     * @param userId
     * @return
     */
    IPage<Book> selectBookByUserId(Integer pageNum, Integer pageSize, Integer userId);
}
